没有AirDrop也能优雅的传文件 |
您所在的位置:网站首页 › retry in › 没有AirDrop也能优雅的传文件 |
![]() SnapDrop是一个基于WebRTC接口来实现提供局域网内跨平台传输文件和信息服务的开源项目,基于GNU 3.0协议在GitHub开放源代码。本文可能是最全面的SnapDrop使用及部署攻略。 1.使用SnapDrop由于自建有一定的门槛,对于一般用户可以可直接使用官方提供的网站https://snapdrop.net/(或者博主自建的汉化版服务https://qwq.pw/),因为文件不经过服务器进行传输,所以对于安全性无需过多的担心。 使用SnapDrop非常简单,在需要传输文件的设备间同时打开https://snapdrop.net/网站,每台设备会被分配一个随机的名字。单击(电脑端)/轻点(移动端)需要传输文件的设备图标即可进行传输,也可以右键(电脑端)/长按(移动端)相应的设备图标来传送文字信息。 如果你采用的是Chrome浏览器,还可以在地址栏找到相应图标,将该网站添加为Chrome应用,就可以像原生应用一样快速访问,以备下次使用。 ![]() 在iOS设备上,你也可以将网页添加到主屏幕,以便下次使用。 此外,也有开发者尝试使用Electron为SnapDrop开发本地版本(https://github.com/alextwothousand/snapdrop-desktop),即可在仅有局域网连接的情况下进行文件传输,但目前该项目还在重写中。 2.采用Docker部署自己的SnapDrop服务官方文档推荐采用docker-compose来进行快速部署: git clone https://github.com/RobinLinus/snapdrop.git cd snapdrop docker-compose up -d默认的http端口为8080,https端口为443,访问http://localhost:8080即可打开你部署的SnapDrop服务了。利用docker-compose restart/stop及docker logs snapdrop_node_1命令即可快速重启、停止和查看日志。 通过修改docker-compose.yml中的ports部分,即可修改默认端口。 如果你需要PWA支持,可以参考官方文档的相关说明。简单来说,就是需要部署有效的https证书,如果你不会配置nginx,只要查阅配置https的相关教程修改默认的nginx配置即可。 3.手动部署SnapDrop官方文档并没有提供不采用Docker的部署方式,但手动部署也同样十分方便。如果你的服务器还部署了其他项目,可以参考本部分来进行手动部署。 将SnapDrop项目下载到本地后,我们可以发现项目由server和client两部分组成,只要分别部署服务器端和客户端即可。 sever端采用的是nodejs,部署非常简单。 #下载项目到本地,并进入server目录 git clone [email protected]:RobinLinus/snapdrop.git cd snapdrop/server #运行index.js npm install node index.js如果需要持久化运行,可以使用npm的forever模块 npm install forever -g forever start index.js还可以通过添加-o和-e参数,来设置访问日志和错误日志。 foerver的常用命令如下: start Start SCRIPT as a daemon stop Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script stopall Stop all running forever scripts restart Restart the daemon SCRIPT restartall Restart all running forever scripts list List all running forever scriptsclient端是静态的,使用nginx部署即可,但需要注意参考官方docker提供的default.conf修改nginx配置。 server { listen 80; #server_name your.domain; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; expires epoch; location / { root /usr/share/nginx/html; index index.html index.htm; } #最关键的部分,配置后端服务器,注意修改proxy_pass location /server { proxy_connect_timeout 300; proxy_pass http://node:3000; proxy_set_header Connection "upgrade"; proxy_set_header Upgrade $http_upgrade; proxy_set_header X-Forwarded-for $remote_addr; } location /ca.crt { alias /etc/ssl/certs/snapdropCA.crt; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }配置好之后,访问你nginx设置的域名,即可打开SnapDrop了,如果没有出现Connection lost. Retry in 5 seconds…的提示,就说明配置成功,否则可能是nginx配置有误,需要检查配置。和docker部署的情况相同,只要正确设置了https,也可以同样启用PWA。 虽然SnapDrop相比AirDrop,无论是在功能还是便捷程度上,还有一定的差距。但是SnapDrop仍不失为跨平台传输文件的极佳选择,可以较为方便的自部署也保证了信息的安全性,值得一试。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |